package com.bt7274.service;

import com.bt7274.pojo.Admin;
import com.bt7274.pojo.bo.AdminLoginBO;
import com.bt7274.pojo.vo.AdminInfoVO;

/*
 * 管理员服务接口
 */
public interface AdminService {

    /**
     * 管理员登录
     *
     * @param adminLoginBO 管理员登录信息
     * @return AdminInfoVO
     * @author galland
     */
    AdminInfoVO login(AdminLoginBO adminLoginBO);

    /**
     * 获取管理员信息
     *
     * @param id: 管理员ID
     * @return AdminInfoVO 管理员信息视图
     * @author galland
     */
    AdminInfoVO getAdminInfo(String id);

    /**
     * 根据用户名获取管理员
     *
     * @param username:
     * @return Admin
     * @author galland
     */
    Admin getByUsername(String username);

    /**
     * 验证管理员密码
     *
     * @param admin:管理员
     * @param password:
     * @return boolean
     * @author galland
     */
    boolean verifyPassword(Admin admin, String password );

    /**
     * 验证管理员权限
     *
     * @param adminId:
     * @return boolean
     * @author galland
     */
    boolean checkAdminPermission(String adminId);
}